package shujia.day06.bao1;
/*
    形式参数
        基本类型: 当基本数据类型作为方法的参数类型的时候，调用方法时传入对应的数值即可
        引用类型:
            类：当类作为方法参数类型的时候，将来调用时需要传入该类的对象或该类的子类对象
            抽象类：当抽象类作为方法参数类型的时候，将来调用时需要传入该抽象类的具体子类对象
            接口：当接口作为方法参数类型传递的时候，调用方法时需要传入实现了该接口的具体子类对象

 */
interface Inter1{
    void fun1();
}
class Inter1Impl implements Inter1{
    @Override
    public void fun1() {
        System.out.println("张成阳真帅！");
    }
}

class Student3{
    //当接口作为方法参数类型传递的时候，调用方法时需要传入实现了该接口的具体子类对象
    public void show1(Inter1 inter1){ //Inter1 inter1 = new Inter1Impl(); 接口多态
        inter1.fun1();
    }
}

public class StudentDemo3 {
    public static void main(String[] args) {
        Student3 student3 = new Student3();
        student3.show1(new Inter1Impl());
    }
}
